var gulp=require('gulp');
var gulp_minify_css=require("gulp-minify-css");
var gulp_sass=require("gulp-sass");
var gulp_autoprefixer=require("gulp-autoprefixer");
var gulp_babel=require("gulp-babel");
var gulp_uglify=require("gulp-uglify");
var gulp_tinypng=require("gulp-tinypng");
var gulp_browser_sync=require("browser-sync");
var gulp_copy=require("gulp-copy");
// 编译css
gulp.task("minifycss",function(){
    // 文件的源头
    gulp.src("src/**/*.css")
        .pipe(gulp_autoprefixer({
            browsers:['last 2 versions','Android >= 4.0','ios 7','last 3 safari versions'],
            remove:true,
            cascade: true
        }))
        .pipe(gulp_minify_css())// 需要被压缩的文件经过这个压缩依赖
        .pipe(gulp.dest("dist/"));//文件压缩后输出的位置
        // 链式操作
})



// 编译sass
gulp.task("sass",function(){
    gulp.src("src/scss/*.scss")
        .pipe(gulp_sass())
        .pipe(gulp.dest("dist/"));
});

// 压缩js
// gulp.task("javascript",function(){
//     gulp.src("src/js/*.js")
//         .pipe(gulp_uglify())
//         .pipe(gulp.dest("dist/"))
// })


// es6语法转为es5
var babel=require("gulp-babel");
var gulp_uglify=require("gulp-uglify");
gulp.task("javascript",function(){
    gulp.src("src/js/*.js")
        .pipe(babel({
            presets:['env']
        }))
        .pipe(gulp_uglify())
        .pipe(gulp.dest("dist/js"))
})

/* 复制html文件*/
gulp.task("copyHtml",function(){
    gulp.src("src/*.html")
        .pipe(gulp.dest("dist/"));
})
// 压缩图片
var gulp_tinypng=require("gulp-tinypng");
gulp.task("minifyimg",function(){
    gulp.src("src/img/*.*")
        .pipe(gulp_tinypng("s7XAma9jZvBwBRutfxhNe4VsHDaYEkSW"))
        .pipe(gulp.dest("dist/img"))
})


// 实现热刷新
var browserSync = require('browser-sync').create();
gulp.task("browser",function(){
    browserSync.init({
        server:{
            baseDir:"./"
        },
        port:4000
    })
    gulp.watch("src/scss/*.scss",["sass"])
        .on("change",browserSync.reload)
    gulp.watch("src/*.html",["copyHtml"])
        .on("change",browserSync.reload)
})
// 复制静态资源文件
var gulp_copy=require("gulp-copy");
gulp.task("copy",function(){
    gulp.src("src/media/**/*.*")
        .pipe(gulp_copy("dist/media",{prefix:"2"}))
})




// 一键压缩css、js
gulp.task("pro",["minifycss","javascript","copyHtml","copy","minifyimg"]);